// default settings. fis3 release

// Global start
fis.match('*.{js,css}', {
  useHash: false
});


fis.match('::image', {
  useHash: true
});

fis.match('*.js', {
  optimizer: fis.plugin('uglify-js')
});

fis.match('*.css', {
  optimizer: fis.plugin('clean-css')
});

fis.match('*.less', {
  rExt: '.css'
});

fis.match('*.png', {
  optimizer: fis.plugin('png-compressor')
});

fis.match('::package', {
  spriter: fis.plugin('csssprites')
});

fis.match('/page/layout.tpl', {
  extras: {
    isPage: true
  }
});

// 解释：指定文件的资源定位路径之后的query，比如'?t=123124132'。
// 值类型：string
// 默认值：无
fis.set('new date', Date.now());
fis.match('*.js', {
  query: '?=t' + fis.get('new date')
});

// packOrder
// 解释：用来控制合并时的顺序，值越小越在前面。配合 packTo 一起使用。
// 值类型：Integer
// 默认值：0
fis.match('/widget/{*,**/*}.js', {
  packTo: '/static/pkg_widget.js'
})

fis.match('/mod.js', {
  packOrder: -100
})

// 合并amd代码等
fis.match('/widget/**/*.js', {
  postprocessor: fis.plugin('jswrapper', {
    type: 'amd'
  })
});

fis.hook('module', {
  mode: 'amd' // 模块化支持 amd 规范，适应 require.js
});

// Global end

// default media is `dev`
fis.media('dev')
  .match('*', {
    useHash: false,
    useSprite: false,
    optimizer: null
  });

// optimize
fis.media('prod')
  .match('*.js', {
    optimizer: fis.plugin('uglify-js', {
      mangle: {
        expect: ['require', 'define', 'some string'] //不想被压的
      }
    })
  })
  .match('*.css', {
    optimizer: fis.plugin('clean-css', {
      'keepBreaks': true //保持一个规则一个换行
    })
  });

fis.media('prod')
  // 启用打包插件，必须匹配 ::package
  .match('::package', {
    packager: fis.plugin('map'),
    spriter: fis.plugin('csssprites', {
      layout: 'matrix',
      margin: '15'
    })
  })
  .match('*.js', {
    packTo: '/static/all_others.js'
  })
  .match('*.css', {
    packTo: '/staitc/all_others.css'
  })
  .match('/widget/**/*.js', {
    packTo: '/static/all_comp.js'
  })
  .match('/widget/**/*.css', {
    packTo: '/static/all_comp.css'
});

//部署线上
//https://github.com/fex-team/fis3-deploy-http-push
//fis3-deploy-http-push
// fis.match('**', {
//     deploy: fis.plugin('http-push', {
//         receiver: 'http://target-host/receiver.php', // 接收端
//         to: '/home/work/www' // 将部署到服务器的这个目录下
//     })
// })

//ignore
fis.set('project.ignore', [
  'output/**',
  'node_modules/**',
  '.git/**',
  '.svn/**'
]);